1. Field of the Invention
The field of the present invention generally relates to computer-based design simulation and, more particularly, to systems and methods for running relatively large and/or complex simulations on geographically disperse computers connected via network.
2. Related Art
Simulation engines are currently used in many technology areas, from electronics to automotive applications to aerospace. The complexity of these and other technology areas has grown tremendously over the past decades, outpacing the growth of mere desktop computing power. An example of this growth in complexity is reflected by the recent upgrading of the Hubble telescope, performed by NASA to update the telescope's electronic equipment. Details of this NASA-sponsored space mission may be found at NASA's web site. Prior to the launch of the NASA-sponsored space mission, both the new electronic equipment for the telescope and the procedure for changing the equipment would likely have been simulated many times by multiple computers. These simulations would likely have been overseen by teams of engineers from different disciplines and even different companies.
Another example of growing technical complexities is reflected by the failure of a recent NASA Mars mission in 1999, which has been attributed to use of incompatible metric and U.S.-standard measurement scales. This mission failure could potentially have been avoided with cross-team simulations prior to the mission.
While technologies are growing in complexity and leading to challenges in conducting simulations, engineering design teams are becoming more geographically fragmented. For example, several different design teams working on the same project may be located in different cities, in different countries, or even on different continents. This geographic diversity presents additional challenges in conducting simulations that require participation or programming input from multiple engineering teams.
For example, today's engineers who may design an integrated circuit (“IC”) for a semiconductor chip generally use simulation tools to simulate their designs for testing purposes. With IC design becoming very complex, geographically disperse teams are increasingly common so as to take advantage of design talent spread across the world. One project may consist of several components and a separate group may be designing each component. These groups may be physically spread out from India to the United States. Typically, each group will independently creates create and simulate its respective component. It is usually not until late in the functional design cycle, after a considerable portion of the project work has been completed, that the separate groups bring the components designs together for full IC simulation.
These separate design groups, which are each creating different components of the overall system, may wish to find out if their respective component will simulate correctly with the overall IC design. Traditionally, each such design group would need to access the overall IC design while it is off-line, and then set up and prepare for a full IC simulation with that group's particular component included. This process is typically very cumbersome, because it involves both a considerable set up effort and large amounts of data transfer. Additionally, a full simulation early in the design process necessarily involves inter-group communications that can lead to delays, especially with time zone differences and possible language barriers.
As the need for large complex simulations continues to grow, the likelihood of collaboration among engineering teams located in remote geographical sites increases. Large-scale simulations are more and more commonly being executed on discrete computers that may be widely dispersed geographically, yet connected together through various communications links. Although simulation across multiple geographic sites is theoretically possible using conventional technology and methodologies, those methodologies generally require the use of specialized network tools or equipment that can be expensive to design or acquire.
Using a proprietary model, a typical example of which is depicted conceptually in FIG. 1 can be very restrictive for global design projects, especially as complexities of the simulation and economic demands grow. In a conventional proprietary model, a single computer 10 runs a master simulation engine with primary responsibility to execute and synchronize the simulation. Additional computers 20, 24, and 28 with remote simulation engines are connected to the master simulation engine at computer 10 by proprietary communication links 14. All of the simulation engines can thereby participate in the simulation, but they must do so through the proprietary communication links 14. Furthermore, the master simulation engine at computer 10 may bear the additional burden of synchronizing the simulation.
Using this type of proprietary model, conventional simulations allow participating simulation engines to communicate with each other. For example, a SPICE™ simulation of an analog block may communicate with a number of Verilog® simulations of digital blocks. However, because conventional networked simulations generally take place using a proprietary model, they necessarily require pre-established relationships.
Therefore, a need exists for a more flexible and universally accessible system whereby discrete, geographically dispersed simulation engines can communicate with one another.